package org.example.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.ibatis.type.JdbcType;

/**
 * @TableName ihr_staff
 */
@TableName(value ="ihr_staff")
@Data
public class IhrStaff implements Serializable {
    @TableId(value = "staffid", type = IdType.NONE) // 明确指定主键字段
    private String staffid;

    @TableField("staffNo")
    private String staffno;

    @TableField("staffName")
    private String staffname;

    @TableField("englishName")
    private String englishname;

    @TableField("nickName")
    private String nickname;

    @TableField("mobileNo")
    private String mobileno;

    @TableField("email")
    private String email;

    @TableField("workEmail")
    private String workemail;

    @TableField("workPhone")
    private String workphone;

    @TableField("staffStatus")
    private String staffstatus;

    @TableField("idCardType")
    private String idcardtype;

    @TableField("idCardNo")
    private String idcardno;

    @TableField("departmentId")
    private Long departmentid;

    @TableField("departmentName")
    private String departmentname;

    @TableField("positionId")
    private String positionid;

    @TableField("positionName")
    private String positionname;

    @TableField("sex")
    private String sex;

    @TableField("staffImageId")
    private String staffimageid;

    @TableField("staffType")
    private String stafftype;

    @TableField("marryStatus")
    private String marrystatus;

    @TableField("highestEducation")
    private String highesteducation;

    @TableField("workPlace")
    private String workplace;

    @TableField(value = "birthday", jdbcType = JdbcType.DATE)
    private Date birthday;

    @TableField(value = "contractBeginDate", jdbcType = JdbcType.DATE)
    private Date contractbegindate;

    @TableField(value = "contractEndDate", jdbcType = JdbcType.DATE)
    private Date contractenddate;

    @TableField(value = "enrollInDate", jdbcType = JdbcType.DATE)
    private Date enrollindate;

    @TableField(value = "leaveDate", jdbcType = JdbcType.DATE)
    private Date leavedate;

    @TableField(value = "probationEndDate", jdbcType = JdbcType.DATE)
    private Date probationenddate;

    @TableField(value = "createdDate", jdbcType = JdbcType.TIMESTAMP)
    private Date createddate;

    @TableField(value = "lastUpdateDate", jdbcType = JdbcType.TIMESTAMP)
    private Date lastupdatedate;

    private static final long serialVersionUID = 1L;
}